1. Field of the Invention
The present invention relates to the field of application distribution and more particular to the field of application migration.
2. Description of the Related Art
The application lifecycle includes the specification, development and deployment of computing applications into a target environment. An important phase of the application lifecycle includes application updates and modifications. Applying an update or modification, however, has proven difficult in practice. In this regard, applying an update or modification to an application often involves the replacement of important application components. Consequently, for most target environments, replacing an application component or components as part of applying an update or modification to the application involves the termination and shut down of the application prior to replacing one or more of the application components.
Application migration refers to the movement from one application or application version to another application or application version. Like applying updates and modifications to an existing application, migrating from one release of an application to the next can be an involved process as applications can include many different components which interrelate in many complex ways. Dependencies between components can further complicate the process of migration and the slightest disparity between application components can result in the improper operation of the application.
The common migration process focuses upon the aggregated system of components. Migration solutions for an aggregated system provide a set of predefined scenarios for users to follow in performing a migration. The predefined scenarios require all users performing the migration to understand the entire aggregated system, the predefined migration scenarios, and how each predefined scenario fits a unique situation. Moreover, the predefined migration scenarios can be very specific to a given aggregated system. In consequence, these migration solutions are viewed neither as reusable nor efficient to maintain, especially as the aggregated system becomes more and more complex.
The migration process generally requires that a subject application terminate at the outset of a migration. Enterprise applications can be mission critical for end users, however, such that an outage produced by a migration must be minimized. Similarly, application faults produced by an improperly executed migration too must be minimized for mission critical applications. To achieve both objectives, it is desirable to minimize the complexity of a migration to allow maximum understanding of the migration process among information technology professionals responsible for the migration.